package j2se.sort;

/**
 * Created by jingqing.zhou on 2015/6/16.
 * 插入排序
 */
public class inserSort {


    public static int[] bubbleSort(){
        int[] arr = {10,5,7,45,11,-6,2};
        for(int i=0;i<arr.length-1;i++){
            for(int j=0; j<arr.length-i-1;j++){
                if(arr[j]<arr[j+1]){
                    int temp;
                    temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        return arr;
    }

    /**
     * 插入排序
     * @return
     */
    public static int[] insertSort(){
        int[] arr = {10,5,7,45,11,-6,2};
        for(int i=1;i<arr.length;i++){
            int j=i;
            while (j>0&&j<arr.length){
                int temp ;
                if(arr[j]<arr[j-1]){
                    temp = arr[j-1];
                    arr[j-1] = arr[j];
                    arr[j]=temp;
                }
                j--;
            }
        }
        return arr;
    }

    /**
     * 直接选择排序
     * @return
     */
    public static int[] selectSort(){
        int[] arr = {10,5,7,45,11,-6,2};
        for(int i=0;i<arr.length-1;i++){
            int min = i ;//先假定最小值就为第一个
            for(int j=min+1;j<arr.length;j++){
                if(arr[j]<arr[min]){
                    min = j;
                }
            }
            int temp;
            temp = arr[i];
            arr[i] = arr[min];
            arr[min] = temp;
        }

        return arr;
    }

    public static void main(String[] args) {
        int[] a =insertSort();
        for(int i=0;i<a.length;i++){
            System.out.print(a[i] + ", ");
        }
        System.out.println();
        int[] b =selectSort();
        for(int i=0;i<b.length;i++){
            System.out.print(b[i] + ", ");
        }
        System.out.println();
        int[] c =bubbleSort();
        for(int i=0;i<c.length;i++){
            System.out.print(c[i] + ", ");
        }
    }
}
